# New crypt

Я решил чуть чуть подправить RSA, чтобы ускорить операции шифрования и расшифрования. Проверьте мой шифр

# WriteUp

[Decript](decrypt.py)

```python

from Cryptodome.Util.number import getPrime, long_to_bytes, inverse

r_p = 8699867960510296188383105218870746337434085589746899344213849602547317625599628645815326603358029353061545304368125256698926082675553546665458590589049643294390126726966595389713330357045858617167420471180143710012172696969411944286132178036463434660421374149888858975040264667521304519968509653162445641536460053459504059112406801207592227782451488345067668699269780015151996880216170835406634419169899728501287856760827359144617612974766744854671854305718459922727813836192580069376519902473947317487809597515718792966458892396937278533479566290466574236339737901311493988673096583748651377327796578193469638994348
r_q = 11756820309733408595349193458591496138862274239205410603380275482281471729120307361731969469217380231026270736905757657418318582048845990505763526518348906586948183905039402676503473290101053996364834114873088956140954925879573001008777362872092112372607265063790818542020377109346884883211505240836897842407097314137876985586768197985031575909605743243351539635104092951330307758822959877961972392258594083713704903695899829792556547067804148857063800114996891642440512954453565107193481151815351728973092703824061588268968571821625935974817070856991563032242381913732130284506723443302573385108327300600414305234343
n = 17221971537509236257290505545183458999317804110340151043994681563211591752813135117431213999492728121681944191128683915998722849611746018351674809912504708076938669611289049473926485507721871226422297737645981640020585220473527248758295822874119594331291366489735889312332258806716585936778588095380371133401738164582835197390993132856986606841173191816855565528731254379759321827874657763450109212281905359002646581021629215200879509381622174917218047490338720577649629781936534620618548039260544096423169370741210691575637192385915420047328537626072452989260331077331613910478896995078688476707690813509409244886297
c1 = 7922078693043243188999904376360371835106542334176536922224441764744434784597731227004867783826324763360576752085241817765360626768434057891898004933745667303752990855306027640500655078398987291083038465033527412554302982463239148185994810878420791186666528282404641244425970373821240088799724193502284374311777782091137714009746516263279216118329771119099216077569733375018045690124055292779543031189452271206383939711471302035400428355087166959276592599635115432921203857768983644619336721410785438346601422689610932873390081331207749697467514416917117131120934702754229035233504712194348790645357706810976368113469
c2 = 799024673466328952722938330477939217525310758392305429296358593045816316053035507961398330765338928278037127142013700903026973339532124744521840195939759760423169854514580466220682437328516569748294929582859430835007432811215522946885112196453566634443356336319307358751427364851049111089961635831550708249664748781556724725091570842207633003790082391962375491728539809480847821503938858784174026878804243929775559819526638557016157179148928978610281334073035065532845177354959545579186945017699995899742083461028880292648937530543002778410925344173664163487897417852619245047919482831351422040475479291330623668220

def NOD(a, b):
    while b != 0:
        a, b = b, a%b
    return a

def decrypt(Secretkey, c1, c2):
    m = (c1*Secretkey[1]*inverse(Secretkey[1], Secretkey[0]) + c2*Secretkey[0]*inverse(Secretkey[0], Secretkey[1])) % (Secretkey[0] * Secretkey[1])
    return m

def main():
    p = r_p - 1
    j = 2
    while n % p != 0:
        p1 = (r_p * j) % n - j
        p = NOD(p, p1)
        j += 1
    q = n // p
    Secretkey = [p, q]
    m = decrypt(Secretkey, c1, c2)
    flag = long_to_bytes(m)
    print(flag)

if __name__ == "__main__":
    main()

```

# Flag

RDGCTF{f3rmAt_smAl1_th30r3m}